This invention relates to an image processing apparatus and method for processing entered image data.
In order to achieve color matching between image data entered by an input device such as a monitor or scanner and image data output by an output device such as a color ink-jet printer based upon the image data, data (referred to as profile data below) describing input/output characteristics of various input/output devices is provided in the form of a database. A known image processing system for image processing such as color matching utilizes input/output profile data corresponding to these input/output devices to execute image processing between the entered image data and the output image data.
ICC (International Color Consortium) profile data, which is an example of profile data used in such image processing systems, is well known as an industrial standard.
One item of each profile data, color space, referred to as profile connection space (PCS), which is not dependent upon the input/output device, is defined by CIE XYZ color space or CIE LAB color space. Specifically, in a case where color matching between input and output devices is carried out, two-step processing is executed, namely making a transformation from color space dependent upon the input device to the profile connection space, and then making a transformation from the profile connection space to a color space dependent upon the output device. As a result of this processing, it is possible to achieve color matching between various input and output devices. One profile connection space is defined in one item of each profile data.
One item of each profile data possesses data, which is constituted by a 3-input, N-output look-up table, as a database for performing the transformation from the profile connection space to the color space dependent upon the input/output device or the transformation from the color space dependent upon the input/output device to the profile connection space. Reference is made to these data in actual image processing such as color matching. The data referred to or, in some cases, interpolated data obtained by subjecting this data to interpolation processing, is delivered as an output.
Further, one item of each profile data possesses data, which is constituted by a 3-input, 1-output look-up table, as a database for indicating whether a color specified by the profile connection space is capable of being reproduced by the input/output device. Reference is made to these data in color-reproduction range examination processing, which is for determining whether a specific color is capable of being reproduced by a certain input/output device. The data referred to or, in some cases, interpolated data obtained by subjecting this data to interpolation processing, is delivered as an output.
The structure of the data referred to at the time of image processing such as color matching is referred to as being of Lut-8 Type or of Lut-16 Type in ICC profile data. As shown in FIG. 8A, the data is constituted by a 3.times.3 matrix 20, a group 21 of three one-dimensional look-up tables (one-dimensional LUTs), a three-dimensional look-up table (three-dimensional LUT) 22 having d0.times.d0.times.d0-number of lattice points each of which has N elements, and a group 23 of N-number of one-dimensional look-up tables (one-dimensional LUTs). Here N represents the number of elements constituting the color space of the output device. For example, N is 3 in case of RGB space and is 4 in case of CMYK space. Further, d0 represents the number of lattice points along each spatial axis of the three-dimensional LUT.
Further, the structure of the data referred to in the processing for examining the color-reproduction range is similarly referred to as being of Lut-8 Type or of Lut-16 Type in ICC profile data. As shown in FIG. 8B, the data is constituted by a 3.times.3 matrix 20, a group 21 of three one-dimensional LUTs, a three-dimensional LUT 22 having d1.times.d1.times.d1-number of lattice points each of which has one element, and one one-dimensional LUT 23. Here d1 represents the number of lattice points along each spatial axis of the three-dimensional LUT. In case of ICC profile data, the data is so defined that output data of zero indicates that the specified color lies within the color-reproduction range of the output device and that output data other than zero indicates that the specified color is outside the color-reproduction range.
The difference between the Lut-8 Type and Lut-16 Type basically is that the data size stored in the look-up table is eight bits in the former and 16 bits in the latter.
Consider representing the CIE LAB space and the CIE XYZ space by integers. For example, in case of ICC profile data, each space is represented as follows using 16-bit integers:
______________________________________ Color Space Element Range Encoded Value ______________________________________ CIE XYZ X 0 .fwdarw. 1.9997 0000h .fwdarw. FFFFh CIE XYZ Y 0 .fwdarw. 1.9997 0000h .fwdarw. FFFFh CIE XYZ Z 0 .fwdarw. 1.9997 0000h .fwdarw. FFFFh CIE LAB L* 0 .fwdarw. 100.0 0000h .fwdarw. FFFFh CIE LAB a* -128.0 .fwdarw. 127.996 0000h .fwdarw. FFFFh CIE LAB b* -128.0 .fwdarw. 127.996 0000h .fwdarw. FFFFh ______________________________________
In a case where color spaces are thus decided, the look-up table utilized in image processing such as color matching must possess look-up table data as data corresponding to the values possible in profile connection space, namely the ranges of all color spaces decided as illustrated above. However, if all of the color spaces decided as set forth above are actually compared for both the input and output devices, it will be found that the color-reproduction ranges are small color spaces and that providing a look-up table with look-up table data in correspondence with each range of all color spaces is wasteful.
Accordingly, in a case where CIE XYZ color space is employed as the profile connection space, the method generally employed involves using a 3.times.3 matrix, which constitutes the elements of the look-up table, and transforming the inputs thereof to a "specific RGB space". If each element in this "specific RGB space" is expressed by 16 bits, we obtain the following:
______________________________________ Color Space Element Range Encoded Value ______________________________________ RGB R 0 .fwdarw. 1.00 0000h .fwdarw. FFFFh RGB G 0 .fwdarw. 1.00 0000h .fwdarw. FFFFh RGB B 0 .fwdarw. 1.00 0000h .fwdarw. FFFFh ______________________________________
If a transformation is made in this fashion, the look-up table need only possess look-up table data in correspondence with the values possible as RGB values, namely the ranges of all color spaces decided as illustrated above. If the "specific RGB space" is decided as RGB space which includes color-reproduction ranges of the input/output devices, the look-up table can be constructed without waste.
However, in a case where the look-up table is constructed by employing the CIE XYZ color space as the profile connection space and making the transformation to the "specific RGB space" by the 3.times.3 matrix to limit the range to the color-reproduction range of the input/output device for the purpose of implementing the image processing system described above, the look-up table will not possess look-up table data with regard to colors that cannot be reproduced by the input/output device. Accordingly, in a situation where color-matching or color-reproduction range examination processing is executed upon specifying a color outside of the color-reproduction range of an input/output device having profile data composed of such look-up table data, the value of each element of the specified color is transformed to RGB space by the 3.times.3 matrix, after which a range of values of 0 or less are clipped at 0 and a range of values of 1.00 or greater at clipped at 1.00. Reference is had to the three-dimensional look-up table using these values and the data referred to is delivered as an output.
If data, i.e. zero, indicative of a point inside the color-reproduction range resides among the lattice points situated on the six surfaces of the three-dimensional look-up table used in color-reproduction range examination processing at this time, the value of this point is treated, in accordance with the definition described above, as data of a point relating to a color outside of the color-reproduction range. In other words, regardless of the fact that the color is one outside the range of color reproduction, the color is judged as being one inside the range of color reproduction.